home *** CD-ROM | disk | FTP | other *** search
/ Acorn User: China / Acorn User China CD-ROM (UK) (Disc A) / Acorn User China CD-ROM (UK) (Disc A).bin / DEMON / RISCOS2 / KA9QEXE.ARC / Demon2 < prev    next >
Encoding:
Text File  |  1993-03-13  |  2.5 KB  |  115 lines

  1. main ()
  2. {
  3.   integer dial_return=0
  4.   string CSI[2]=$chr(27)+"[",red[5]=CSI+"31m",green[5]=CSI+"32m",yellow[5]=CSI+"33m"
  5.   string blue[5]=CSI+"34m",magenta[5]=CSI+"35m",cyan[5]=CSI+"36m",white[5]=CSI+"37m"
  6.   string bright[4]=CSI+"1m"
  7.   integer centre,status,modem,attempts=0
  8.  
  9.   openwindow()
  10.   port_txspeed(38400)
  11.   port_rxspeed(38400)
  12.   $port_wordformat("8N1")
  13.   modem_standard("v32")
  14.   modem_errorcontrol("mnp5")
  15.   vdu(12)
  16.   logging_rate("b")
  17.   logging_name("Demon Internet")
  18.   type "ATB0"+cr
  19.   waitfor("OK",500)
  20.   heading("Demon SLIP","081 343 4848")
  21.   repeat
  22.   {
  23.     dial_return=modem_dial("081 343 4848",0)
  24.     if(dial_return!=0)
  25.     {
  26.       integer now=time()+1000,secs=10
  27.       tab(status,3)
  28.       prints "Waiting..... "
  29.       while(time()<now)
  30.       {
  31.        countdown()
  32.       }
  33.       tab(status,3)
  34.       prints yellow+"Re-Dialling ("+$str(attempts+1)+")"+white
  35.       attempts=attempts+1
  36.       tab(modem,5)
  37.       prints "               "
  38.       tab(modem,5)
  39.     }
  40.   }
  41.   until(dial_return==0)
  42.   if(waitfor("login: ",100))
  43.   {
  44.     type cr
  45.     if(waitfor("login: ",2500))
  46.     {
  47.       endlogon()
  48.       return(0)
  49.     }
  50.   }
  51.   pauseshow(120)
  52.   type "hostname"+cr
  53.   if(waitfor("assword:",2500))
  54.   {
  55.     endlogon()
  56.     return(0)
  57.   }
  58.   type "Secret"+cr+cr
  59.   waitfor("HELLO",3000)
  60.   oscli("WimpTask adfs::Developer.$.Comms.!TCPIP")
  61.   doubleclick("adfs::Developer.$.Comms.Internet")
  62. ;  shutdown()
  63. }
  64.  
  65. countdown ()
  66. {         
  67.   integer x=xpos(),y=ypos()
  68.    tab(status+13,3)
  69.     if(secs<10)
  70.      {
  71.       prints " "+$str(secs)+" "
  72.      }
  73.      else
  74.      {
  75.       prints $str(secs)+" "
  76.      }
  77.    secs=secs-1
  78.    tab(x,y)
  79.    pauseshow(100)
  80. }
  81.  
  82. heading (string name[30],string number[20])
  83.   {
  84.    string topline[34]="ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ",botline[34]="ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ"
  85.    string midline[34]="ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ",spaces[34]="                                "
  86.    integer width=len(name+number)
  87.    centre=(80-width)/2
  88.    status=centre+10
  89.    modem=status
  90.    tab(centre,0)
  91.    prints bright+red+$left(topline,width+4)
  92.    prints "»"
  93.    tab(centre,1)
  94.    prints "º "
  95.    prints cyan+name+" "+yellow+number
  96.    prints red+" º"
  97.    tab(centre,2)
  98.    prints red+$left(midline,width+4)+"¹"
  99.    tab(centre,3)
  100.    prints "º "+green+"STATUS: "+yellow+"Dialling"+$left(spaces,width+4-18)+red+"º"
  101.    tab(centre,4)
  102.    prints red+$left(midline,width+4)+"¹"
  103.    tab(centre,5)
  104.    prints "º "+green+"MODEM : "+$left(spaces,width+4-10)+red+"º" 
  105.    tab(centre,6)
  106.    prints $left(botline,width+4)
  107.    prints "¼"+bright+white
  108.    tab(modem,5)
  109. }
  110.  
  111. endlogon ()
  112. {
  113.   modem_disconnect()
  114. }
  115.